import axios from "axios";
import {store} from "../store";
import { setLoading } from "../store/modules/loadingStore";

// 设置默认的基础URL
axios.defaults.baseURL = 'http://localhost:3000'

// 请求拦截器 - 在发送请求之前做些什么
axios.interceptors.request.use(function (config) {
    // 显示Loading状态
    console.log('请求开始');    
    store.dispatch(setLoading(true));
    return config;
}, function (error) {
    store.dispatch(setLoading(false));      // 处理请求错误
    return Promise.reject(error);
});

// 响应拦截器 - 对响应数据做点什么
axios.interceptors.response.use(function (response) {
    // 请求成功，隐藏Loading
    console.log('请求结束');
    store.dispatch(setLoading(false));
    return response;
}, function (error) {
    // 请求失败，也隐藏Loading状态
    store.dispatch(setLoading(false));
    console.log(error);
    return Promise.reject(error);
});